package com.sub.lambda;

import java.util.Arrays;
import java.util.List;
import java.util.stream.Stream;

/**
 * @ClassName StreamTest
 * @Description: TODO
 * @Author Submerge.
 * @Since 2023/8/30 18:43
 * @Version 1.0
 */
public class StreamTest {

    public static void main(String[] args) {
        /**
         * 案例需求
         * 现在有两个ArrayList集合，分别存储6名男演员名称和6名女演员名称，要求完成如下的操作
         * 男演员只要名字为3个字的前三人
         * 女演员只要姓林的，并且不要第一个
         * 把过滤后的男演员姓名和女演员姓名合并到一起
         * 把上一步操作后的元素作为构造方法的参数创建演员对象,遍历数据
         * 演员类Actor已经提供，里面有一个成员变量，一个带参构造方法，以及成员变量对应的get/set方法
         */

        List<String> man = Arrays.asList("张国荣", "梁朝伟", "刘德华", "周润发", "成龙", "李连杰");
        List<String> woman = Arrays.asList("林青霞", "舒淇", "张曼玉", "关之琳", "巩俐", "章子怡");
        Stream<String> s0 = man.stream().filter(name -> name.length() == 3).limit(3);
        Stream<String> s1 = woman.stream().filter(s -> s.startsWith("林")).skip(1);
        Stream.concat(s0,s1).forEach(System.out::println);

    }
}
